package com.ocom.accesservice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ocom.common.dto.AreaDto;
import com.ocom.common.entity.access.EntityMjAreaInfo;
import com.ocom.common.vo.AreaInfoVo;
import com.ocom.common.vo.AreaVo;
import com.ocom.common.vo.DelAreaVo;
import com.ocom.common.vo.accessdevice.RegionAreaInfo;

import java.util.List;

public interface AreaInfoService extends IService<EntityMjAreaInfo> {

    //1、从门禁区域表mj_area_info查出所有com_id=companyID的areaNo(areaName)
    public List<EntityMjAreaInfo> GetAreaName(AreaVo areaVo,Long comId);


    /**
     * 添加区域
     * */
    public EntityMjAreaInfo NewArea(AreaDto areaDto,Long comId);


    /**
     * 修改区域名称
     * */
    public String UpdateAreaName(AreaDto areaDto,Long comId);

    /**
     * 校验单位名称是否唯一
     *
     * @param AreaName 单位区域名称
     * @return 结果
     */
    public EntityMjAreaInfo checkAreaNameUnique(Long comId, String AreaName);


    /**
     * 移除区域
     * */
    public void RemoveArea(DelAreaVo delAreaVo, Long companyID);

    /**
     * 获取区域名称
     *
     * @return*/
    public EntityMjAreaInfo getAreaById(Long areaId,Long comId);


    /**
     * 获取区域名称
     *
     * @return*/


    /**
     * 获取列表
     */
    public List<AreaInfoVo> getAreaList(Long companyId);

    /**
     * 获取列表
     */
    public List<EntityMjAreaInfo> getAreaListByCompanyId(Long companyId);

    /**
     * 获取区域信息
     * */
    public EntityMjAreaInfo  getAreaInfoById(Long comId,Long areaId);

    /**
     * 添加区域
     * @param companyId
     * @param regionId
     * @param areaName
     * @return
     */
    public EntityMjAreaInfo newArea(Long companyId, Long regionId, String areaName, Long pId);

    /**获取区域信息
     * @return*/
    public List<EntityMjAreaInfo> GetAreaInfo(Long comId,Integer regionId, Integer areaId, String areaName);

     public RegionAreaInfo getAreaInfoByMachNo(Long companyId,String machNo);

    /**
     * 区域权限列表 （getAreaGroupList）
     *
     * @return*/
    public List<EntityMjAreaInfo> GetAreaGroupList(Long comId, Long areaId, String range);

}
